package com.dime.mninterface.api;
import com.dime.feign.MNFeignConfig;
import com.dime.mninterface.api.facotry.RemoteHealth100FallbackFactory;
import com.dime.mninterface.api.model.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;

import java.util.List;


@FeignClient(contextId = "remoteHealth100Service",
        value = ServiceNameConstants.MN_HEALTH100,
        fallbackFactory = RemoteHealth100FallbackFactory.class,
        configuration = MNFeignConfig.class,
        url = "https://openapi.health-100.cn"
)
public interface RemoteHealth100Service {
    @PostMapping("/soa-interact/api/v1/soa/order/info")
    public MNResponse<MNCompany> getCompany(@RequestBody OrderRequestBody requestBody);


    @PostMapping("/soa-interact/api/v1/soa/order/package/info")
    public MNResponse<List<MNOrderDetail>> getOrder(@RequestBody OrderRequestBody requestBody);

    @PostMapping("/checkup-report/api/userReport/getReportCombine")
    public MNResponse<MNReport> getReport(@RequestBody ReportRequestBody requestBody);

    @PostMapping("/checkup-hc/api/checkin/query/unifyOccupation")
    public MNResponse<List<MNRegist>> getRegist(@RequestBody RegistRequestBody requestBody);

    @PostMapping("/checkup-hc/api/checkin/occupationMessage")
    public MNResponseBase postRecheck(@RequestBody RecheckRequestBody requestBody);

}
